// 模式匹配类型，推断函数类型中参数的最后一个参数类型

function sum(a:string, b:string, c:number) {}
// 约束参数是一个函数
// 构建推断的位置即可
type LastParamter<T extends (...args:any[])=> any> = T extends (...args:infer P) =>any ? P extends [...infer X, infer Last] ? Last: never : never;
type X = LastParamter<typeof sum>;
export {}